A. Field of the Invention
This invention relates generally to multi-user communication, and, more particularly, to multi-user extension mechanisms for a client-server system.
B. Description of the Related Art
The Moving Picture Experts Group (MPEG) is a working group of the International Organization for Standardization (ISO) that generates standards for digital video and audio compression. MPEG-1 and MPEG-2 are standards for interactive video on CD-ROM and Digital Television, respectively. MPEG4 is a newly emerging standard being designed for efficient multimedia delivery and integration between a client and a server. MPEG-4 provides the flexibility to allow an end user to interact with multimedia content (e.g., audio, video, text, or any combination thereof) and to control the way that audiovisual objects are displayed. A more complete description of MPEG-4 is contained in the document ISO/IEC JTC1/SC29/WG11, N2323, published July, 1998, by the ISO.
MPEG-4 incorporates aspects of the well known Virtual Reality Modeling Language (VRML), which describe three dimensional objects and worlds using a hierarchical scene graph (or scene description). Entities contained within the scene graph are called nodes. [The terms xe2x80x9cscene graphxe2x80x9d and xe2x80x9cscene descriptionxe2x80x9d are used interchangeably herein. VRML is described more fully in various texts, such as xe2x80x9cThe Annotated VRML 2.0 Reference Manual,xe2x80x9d by Rikk Carey and Gavin Bell, Addison-Wesley Developers Press (1997)]. VRML 2.0 defines 54 different node types, including geometry primitives, appearance properties, sound properties, and various types of grouping nodes. Nodes store their data in fields, and VRML defines 20 different types of fields. Furthermore, nodes can contain other nodes and may be contained in more than one node. Analogously, MPEG-4 employs an MPEG-4 scene description and MPEG-4 nodes (sometimes called Binary Format for Scene (BIFS) nodes).
Two of the node types defined in MPEG-4 and VRML 2.0 are the Group and the Group2D nodes. Both the Group and Group2D nodes are mechanisms by which one associates different media objects into a scene description. One limitation of MPEG-4 and VRML is that these Group and Group2D nodes are designed for a single end user, and therefore do not provide mechanisms for multi-user interaction. Multi-user interaction, however, is important for application domains such as collaborative computing, distance learning, shared virtual worlds, virtual chat, entertainment, and e-commerce, each of which involve interaction of two or more users with each other. There exists, therefore, a need for multi-user extension mechanisms for a client-server system.
Methods and apparatus consistent with the present invention, as embodied and broadly described herein, provide multi-user communication in a client-server system.
Consistent with the invention, a method for providing multi-user communication in a client-server system includes dividing a scene description at a first client into shared parts and non-shared parts and organizing the shared parts of the scene description into at least one multi-user group node.
Consistent with the invention, an apparatus for providing multi-user communication in a client-server system includes at least one memory having program instructions, and at least one processor configured to execute the program instructions. The processor executes the program instructions to perform the operations of providing a MultiUser Group node. The MultiUser Group node includes the following: a boolean expression field to control whether changes to the state of the group node at the first client should be communicated to a second client; a boolean expression field to control whether changes to the state of the group node should be implemented in a second client; a boolean expression field to control authorization to modify the group node by a second client; and a boolean expression field to control access to the group node by a second client.
Consistent with the invention, a computer-readable medium includes instructions for controlling a computer system to perform a method for providing multi-user communication in a client-server system . The method includes dividing a scene description at a first client into shared parts and non-shared parts and organizing the shared parts of the scene description into at least one multi-user group node.